Search engines provide a powerful tool for locating content in documents in a large database of documents, such as the documents on the Internet or World Wide Web (WWW), and/or the documents stored on the computers of an Intranet. The documents are located using an index of documents in response to a search query, consisting of one or more words, terms, keywords and/or phrases, henceforth called terms, that are submitted by a user. Documents in the index of documents may be matched to one or more terms in the search query to determine scores. A ranked listing of relevant documents or document locations, based on the scores, are provided to the user.
Search queries may have a variety of formats. Common formats include a list of terms and/or Boolean search commands. Another class of formats correspond to fill-the-blanks questions, where a user would like to know one or more blanks or missing terms in a snippet or a fragment of text. Existing search engine systems may transform the fill-the blanks questions into natural language questions, i.e., questions having a declarative format.
Natural language questions, however, have several drawbacks. Notably, the transformation from a fill-the-blank question to a natural language question or query often uses complex language-specific rules and processing for each language covered. Natural language questions are often answered using a body of knowledge or an expert system, which may add complexity and expense to a search engine. And the unrestricted nature of natural language questions may raise the users expectations beyond the capability of the search engine to provide answers, relevant documents or document locations in response to the query. There is a need, therefore, for a search engine with improved processing of queries based on fill-the-blanks questions.